import type { IWeatherResponse } from "@/interface/IWeather";
import axios from "axios";
import AxiosApi from '@/api/AxiosApi'

// 第三方天气接口  这里的axios配置无法使用AxiosApi

// 基本参数配置
const apiUrl = '/weather/simpleWeather/query';  // 接口请求URL
const apiKey = 'c600ded2019dad0f661b0b06690edc7e';  // 在个人中心->我的数据,接口名称上方查看 

// 获取天气信息的第三方接口
export async function getWeather(cityName: string): Promise<IWeatherResponse> {
    // 接口请求入参配置
    const requestParams = {
        key: apiKey,
        city: cityName,
    };
    let result: any
    // 发起接口网络请求
    await axios.get(apiUrl, { params: requestParams }).then(response => {
        // 解析响应结果
        if (response.status === 200) {
            // 请求成功，拿到天气数据
            result = response.data;
        } else {
            // 网络异常等因素，解析结果异常。可依据业务逻辑自行处理。
            console.log('请求异常');
        }
    })
    return result
}

export async function getSrc(info: string): Promise<string> {
    // 获取对应列表
    const obj:Record<string,string> = (await AxiosApi.get('/weatherlist')).data.data
    let src:string = ''
    // 按道理这个找对应src的逻辑应该是后端去处理，然后我发请求的时候携带上这个name参数就可以拿到src，但这里无后端
    Object.entries(obj).forEach((item)=>{
        if(item.includes(info)){
            src = item[1]
        }
    })
    return src
}